Kameleon-Plus  0.3.2
SWMFIonoInterpolator.h
Go to the documentation of this file.
1 /*
2  * SWMFIonoInterpolator.h
3  *
4  * Created on: May 25, 2012
5  * Author: David Berrios
6  */
7 
8 #ifndef _SWMFIonoInterpolator_h
9 #define _SWMFIonoInterpolator_h
10 
11 #include "Interpolator.h"
12 #include "Model.h"
13 
14 namespace ccmc{
15 
17  {
18 
19  public:
20  SWMFIonoInterpolator(Model * model);
21  float interpolate(const std::string& variable, const float& r, const float& lat, const float& lon);
22  float interpolate(const std::string& variable, const float& r, const float& lat, const float& lon, float& dr, float& dlat, float& dlon);
23  float interpolate(const long& variable_id, const float& r, const float& lat, const float& lon);
24  float interpolate(const long& variable_id, const float& r, const float& lat, const float& lon, float& dr, float& dlat, float& dlon);
25  virtual ~SWMFIonoInterpolator();
26 
27  private:
28 
29  std::string th_string;
30  std::string phi_string;
31  int theta_size;
32  int phi_size;
33 
34  const std::vector<float> * th_data;
35  const std::vector<float> * phi_data;
36  //const std::vector<float> * phi_data;
37 
38  float previous_th;
39  float previous_phi;
40  int previous_th_index;
41  int previous_phi_index;
42 
43  int index_2D_to_1D(const int& ilat, const int& ilon);
44 
45  };
46 
47 }
48 
49 
50 
51 #endif